<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>浮动布局实践</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
        
        .container {
            border: 1px solid #ccc;
            padding: 20px;
            margin-bottom: 30px;
        }
        
        /* 基本浮动示例 */
        .float-basic .float-left {
            float: left;
            width: 100px;
            height: 100px;
            background-color: #f0f8ff;
            border: 1px solid blue;
            margin: 10px;
            text-align: center;
            line-height: 100px;
        }
        
        .float-basic .float-right {
            float: right;
            width: 100px;
            height: 100px;
            background-color: #fff0f5;
            border: 1px solid red;
            margin: 10px;
            text-align: center;
            line-height: 100px;
        }
        
        .float-basic .content {
            margin: 10px;
            padding: 10px;
            background-color: #f0fff0;
            border: 1px solid green;
        }
        
        /* 多列布局 */
        .columns .column {
            float: left;
            width: 33.33%;
            padding: 15px;
            box-sizing: border-box;
        }
        
        .columns .column:nth-child(1) {
            background-color: #f0f8ff;
        }
        
        .columns .column:nth-child(2) {
            background-color: #fff0f5;
        }
        
        .columns .column:nth-child(3) {
            background-color: #f0fff0;
        }
        
        /* 清除浮动的方法 */
        .clearfix::after {
            content: "";
            display: block;
            clear: both;
        }
        
        .overflow {
            overflow: auto;
        }
        
        .clear-float {
            clear: both;
            height: 0;
            line-height: 0;
            font-size: 0;
        }
        
        /* 父容器高度塌陷示例 */
        .collapse .float-item {
            float: left;
            width: 100px;
            height: 100px;
            background-color: #f0f8ff;
            border: 1px solid blue;
            margin: 10px;
        }
        
        .collapse .no-clear {
            border: 1px solid red;
            background-color: #fff0f5;
            margin-bottom: 20px;
        }
        
        .collapse .with-clearfix {
            border: 1px solid green;
            background-color: #f0fff0;
            margin-bottom: 20px;
        }
        
        .collapse .with-overflow {
            border: 1px solid orange;
            background-color: #fffacd;
            margin-bottom: 20px;
        }
    </style>
</head>
<body>
    <h1>浮动布局实践</h1>
    
    <div class="container">
        <h2>基本浮动示例</h2>
        <div class="float-basic">
            <div class="float-left">左浮动</div>
            <div class="float-right">右浮动</div>
            <div class="content">这是内容区域，它会围绕浮动元素排列。这是内容区域，它会围绕浮动元素排列。这是内容区域，它会围绕浮动元素排列。这是内容区域，它会围绕浮动元素排列。这是内容区域，它会围绕浮动元素排列。这是内容区域，它会围绕浮动元素排列。这是内容区域，它会围绕浮动元素排列。这是内容区域，它会围绕浮动元素排列。</div>
        </div>
    </div>
    
    <div class="container">
        <h2>多列布局</h2>
        <div class="columns clearfix">
            <div class="column">
                <h3>第一列</h3>
                <p>这是第一列的内容。这是第一列的内容。这是第一列的内容。这是第一列的内容。这是第一列的内容。</p>
            </div>
            <div class="column">
                <h3>第二列</h3>
                <p>这是第二列的内容。这是第二列的内容。这是第二列的内容。这是第二列的内容。这是第二列的内容。</p>
            </div>
            <div class="column">
                <h3>第三列</h3>
                <p>这是第三列的内容。这是第三列的内容。这是第三列的内容。这是第三列的内容。这是第三列的内容。</p>
            </div>
        </div>
    </div>
    
    <div class="container">
        <h2>父容器高度塌陷与清除浮动</h2>
        <div class="collapse">
            <h3>未清除浮动（高度塌陷）</h3>
            <div class="no-clear">
                <div class="float-item">浮动元素1</div>
                <div class="float-item">浮动元素2</div>
                <div class="float-item">浮动元素3</div>
                <p>这个父容器没有清除浮动，高度会塌陷。</p>
            </div>
            
            <h3>使用clearfix清除浮动</h3>
            <div class="with-clearfix clearfix">
                <div class="float-item">浮动元素1</div>
                <div class="float-item">浮动元素2</div>
                <div class="float-item">浮动元素3</div>
                <p>这个父容器使用clearfix清除浮动，高度不会塌陷。</p>
            </div>
            
            <h3>使用overflow清除浮动</h3>
            <div class="with-overflow overflow">
                <div class="float-item">浮动元素1</div>
                <div class="float-item">浮动元素2</div>
                <div class="float-item">浮动元素3</div>
                <p>这个父容器使用overflow清除浮动，高度不会塌陷。</p>
            </div>
        </div>
    </div>
</body>
</html>